﻿using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class TextScaler : MonoBehaviour
{
    public float scaleSpeed = 1.0f; // 缩放速度  
    public float minScale = 0.5f;   // 最小缩放比例  
    public float maxScale = 2.0f;   // 最大缩放比例  
    private RectTransform rectTransform; // Text 组件的 RectTransform  
    private float currentScale = 1.0f;  // 当前缩放比例  
    private int scaleDirection = 1;      // 缩放方向 (1: 放大, -1: 缩小)  

    void Start()
    {
        // 获取 Text 组件的 RectTransform  
        rectTransform = GetComponent<RectTransform>();
        if (rectTransform == null)
        {
            Debug.LogError("TextScaler 脚本需要附加到包含 RectTransform 的 GameObject 上!");
            enabled = false; // 禁用脚本  
        }
    }

    void Update()
    {
        // 根据缩放方向改变缩放比例  
        currentScale += scaleSpeed * scaleDirection * Time.deltaTime;

        // 限制缩放比例在最大值和最小值之间  
        if (currentScale > maxScale)
        {
            currentScale = maxScale;
            scaleDirection = -1; // 反向缩放  
        }
        else if (currentScale < minScale)
        {
            currentScale = minScale;
            scaleDirection = 1; // 反向缩放  
        }

        // 应用缩放比例  
        rectTransform.localScale = new Vector3(currentScale, currentScale, currentScale);
    }
}
